package com.zf.yichat.model;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;

@Table(name = "user_integral_detail")
public class UserIntegralDetail implements Serializable {

    @Id
    private Long id;

    /**
     * 获得积分
     */
    private Integer integral;

    /**
     * 积分类型 0签到 1邀请 2分享
     */
    @Column(name = "refer_type")
    private Integer referType;

    /**
     * 不同类型可能关联的数据
     */
    @Column(name = "refer_id")
    private String referId;

    /**
     * 用户ID
     */
    @Column(name = "user_id")
    private Long userId;

    private String memo;

    private Date ctime;

    private static final long serialVersionUID = 1L;

    public UserIntegralDetail(Long id, Integer integral, Integer referType, String referId, Long userId, String memo, Date ctime) {
        this.id = id;
        this.integral = integral;
        this.referType = referType;
        this.referId = referId;
        this.userId = userId;
        this.memo = memo;
        this.ctime = ctime;
    }

    public UserIntegralDetail() {
        super();
    }

    /**
     * @return id
     */
    public Long getId() {
        return id;
    }

    /**
     * @param id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取获得积分
     *
     * @return integral - 获得积分
     */
    public Integer getIntegral() {
        return integral;
    }

    /**
     * 设置获得积分
     *
     * @param integral 获得积分
     */
    public void setIntegral(Integer integral) {
        this.integral = integral;
    }

    /**
     * 获取积分类型 0签到 1邀请 2分享
     *
     * @return refer_type - 积分类型 0签到 1邀请 2分享
     */
    public Integer getReferType() {
        return referType;
    }

    /**
     * 设置积分类型 0签到 1邀请 2分享
     *
     * @param referType 积分类型 0签到 1邀请 2分享
     */
    public void setReferType(Integer referType) {
        this.referType = referType;
    }

    /**
     * 获取不同类型可能关联的数据
     *
     * @return refer_id - 不同类型可能关联的数据
     */
    public String getReferId() {
        return referId;
    }

    /**
     * 设置不同类型可能关联的数据
     *
     * @param referId 不同类型可能关联的数据
     */
    public void setReferId(String referId) {
        this.referId = referId == null ? null : referId.trim();
    }

    /**
     * 获取用户ID
     *
     * @return user_id - 用户ID
     */
    public Long getUserId() {
        return userId;
    }

    /**
     * 设置用户ID
     *
     * @param userId 用户ID
     */
    public void setUserId(Long userId) {
        this.userId = userId;
    }

    /**
     * @return memo
     */
    public String getMemo() {
        return memo;
    }

    /**
     * @param memo
     */
    public void setMemo(String memo) {
        this.memo = memo == null ? null : memo.trim();
    }

    /**
     * @return ctime
     */
    public Date getCtime() {
        return ctime;
    }

    /**
     * @param ctime
     */
    public void setCtime(Date ctime) {
        this.ctime = ctime;
    }
}